;--- include file created by h2incx v0.96, copyright 2005 japheth
;--- source file: d:\ddraw\include\d3dx9shader.h, last modified: 12/1/2004 15:7
	include d3dx9.inc
ifndef __D3DX9SHADER_H__
__D3DX9SHADER_H__	EQU	<>
D3DXTX_VERSION macro _Major,_Minor
	exitm <( ( 'T'  shl  24 )  or  ( 'X'  shl  16 )  or  ( ( _Major )  shl  8 )  or  ( _Minor ) ) >
	endm
D3DXSHADER_DEBUG	EQU	( 1  shl  0 )
D3DXSHADER_SKIPVALIDATION	EQU	( 1  shl  1 )
D3DXSHADER_SKIPOPTIMIZATION	EQU	( 1  shl  2 )
D3DXSHADER_PACKMATRIX_ROWMAJOR	EQU	( 1  shl  3 )
D3DXSHADER_PACKMATRIX_COLUMNMAJOR	EQU	( 1  shl  4 )
D3DXSHADER_PARTIALPRECISION	EQU	( 1  shl  5 )
D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT	EQU	( 1  shl  6 )
D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT	EQU	( 1  shl  7 )
D3DXSHADER_NO_PRESHADER	EQU	( 1  shl  8 )
D3DXSHADER_AVOID_FLOW_CONTROL	EQU	( 1  shl  9 )
D3DXSHADER_PREFER_FLOW_CONTROL	EQU	( 1  shl  10 )
D3DXHANDLE  typedef LPSTR
LPD3DXHANDLE  typedef ptr D3DXHANDLE
D3DXMACRO	struct
Name_	LPSTR	?
Definition	LPSTR	?
D3DXMACRO	ends

LPD3DXMACRO typedef ptr D3DXMACRO

D3DXSEMANTIC	struct
Usage	DWORD	?
UsageIndex	DWORD	?
D3DXSEMANTIC	ends

LPD3DXSEMANTIC typedef ptr D3DXSEMANTIC

D3DXFRAGMENT_DESC	struct
Name_	LPSTR	?
Target	DWORD	?
D3DXFRAGMENT_DESC	ends

LPD3DXFRAGMENT_DESC typedef ptr D3DXFRAGMENT_DESC

D3DXREGISTER_SET typedef DWORD
D3DXRS_BOOL = 0
D3DXRS_INT4 = 1
D3DXRS_FLOAT4 = 2
D3DXRS_SAMPLER = 3
D3DXRS_FORCE_DWORD = 7fffffffh 

LPD3DXREGISTER_SET typedef ptr D3DXREGISTER_SET

D3DXPARAMETER_CLASS typedef DWORD
D3DXPC_SCALAR = 0
D3DXPC_VECTOR = 1
D3DXPC_MATRIX_ROWS = 2
D3DXPC_MATRIX_COLUMNS = 3
D3DXPC_OBJECT = 4
D3DXPC_STRUCT = 5
D3DXPC_FORCE_DWORD = 7fffffffh 

LPD3DXPARAMETER_CLASS typedef ptr D3DXPARAMETER_CLASS

D3DXPARAMETER_TYPE typedef DWORD
D3DXPT_VOID = 0
D3DXPT_BOOL = 1
D3DXPT_INT = 2
D3DXPT_FLOAT = 3
D3DXPT_STRING = 4
D3DXPT_TEXTURE = 5
D3DXPT_TEXTURE1D = 6
D3DXPT_TEXTURE2D = 7
D3DXPT_TEXTURE3D = 8
D3DXPT_TEXTURECUBE = 9
D3DXPT_SAMPLER = 10
D3DXPT_SAMPLER1D = 11
D3DXPT_SAMPLER2D = 12
D3DXPT_SAMPLER3D = 13
D3DXPT_SAMPLERCUBE = 14
D3DXPT_PIXELSHADER = 15
D3DXPT_VERTEXSHADER = 16
D3DXPT_PIXELFRAGMENT = 17
D3DXPT_VERTEXFRAGMENT = 18
D3DXPT_FORCE_DWORD = 7fffffffh 

LPD3DXPARAMETER_TYPE typedef ptr D3DXPARAMETER_TYPE

D3DXCONSTANTTABLE_DESC	struct
Creator	LPSTR	?
Version	DWORD	?
Constants	DWORD	?
D3DXCONSTANTTABLE_DESC	ends

LPD3DXCONSTANTTABLE_DESC typedef ptr D3DXCONSTANTTABLE_DESC

D3DXCONSTANT_DESC	struct
Name_	LPSTR	?
RegisterSet	D3DXREGISTER_SET	?
RegisterIndex	DWORD	?
RegisterCount	DWORD	?
Class	D3DXPARAMETER_CLASS	?
Type_	D3DXPARAMETER_TYPE	?
Rows	DWORD	?
Columns	DWORD	?
Elements	DWORD	?
StructMembers	DWORD	?
Bytes	DWORD	?
DefaultValue	LPCVOID	?
D3DXCONSTANT_DESC	ends

LPD3DXCONSTANT_DESC typedef ptr D3DXCONSTANT_DESC

;ID3DXConstantTable typedef ID3DXConstantTable

LPD3DXCONSTANTTABLE typedef ptr ID3DXConstantTable

DEFINE_GUID(IID_ID3DXConstantTable,0ab3c758fh,93eh,4356h,0b7h,62h,4dh,0b1h,8fh,1bh,3ah,1h)
;#undef INTERFACE 
INTERFACE	EQU	<ID3DXConstantTable>
DECLARE_INTERFACE_(ID3DXConstantTable,IUnknown)
;{
STDMETHOD QueryInterface , :REFIID, :ptr LPVOID
STDMETHOD_ ULONG,AddRef 
STDMETHOD_ ULONG,Release 
STDMETHOD_ LPVOID,GetBufferPointer 
STDMETHOD_ DWORD_,GetBufferSize 
STDMETHOD GetDesc , :ptr D3DXCONSTANTTABLE_DESC
STDMETHOD GetConstantDesc , :D3DXHANDLE, :ptr D3DXCONSTANT_DESC, :ptr DWORD
STDMETHOD_ UINT,GetSamplerIndex , :D3DXHANDLE
STDMETHOD_ D3DXHANDLE,GetConstant , :D3DXHANDLE, :DWORD
STDMETHOD_ D3DXHANDLE,GetConstantByName , :D3DXHANDLE, :LPSTR
STDMETHOD_ D3DXHANDLE,GetConstantElement , :D3DXHANDLE, :DWORD
STDMETHOD SetDefaults , :LPDIRECT3DDEVICE9
STDMETHOD SetValue , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :LPCVOID, :DWORD
STDMETHOD SetBool , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :BOOL
STDMETHOD SetBoolArray , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr BOOL, :DWORD
STDMETHOD SetInt , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :DWORD
STDMETHOD SetIntArray , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr DWORD, :DWORD
STDMETHOD SetFloat , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :REAL4
STDMETHOD SetFloatArray , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr REAL4, :DWORD
STDMETHOD SetVector , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr D3DXVECTOR4
STDMETHOD SetVectorArray , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr D3DXVECTOR4, :DWORD
STDMETHOD SetMatrix , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr D3DXMATRIX
STDMETHOD SetMatrixArray , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr D3DXMATRIX, :DWORD
STDMETHOD SetMatrixPointerArray , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr ptr D3DXMATRIX, :DWORD
STDMETHOD SetMatrixTranspose , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr D3DXMATRIX
STDMETHOD SetMatrixTransposeArray , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr D3DXMATRIX, :DWORD
STDMETHOD SetMatrixTransposePointerArray , :LPDIRECT3DDEVICE9, :D3DXHANDLE, :ptr ptr D3DXMATRIX, :DWORD
;}
DECLARE_INTERFACE__END

;ID3DXTextureShader typedef ID3DXTextureShader

LPD3DXTEXTURESHADER typedef ptr ID3DXTextureShader

DEFINE_GUID(IID_ID3DXTextureShader,3e3d67f8h,0aa7ah,405dh,0a8h,57h,0bah,1h,0d4h,75h,84h,26h)
;#undef INTERFACE 
INTERFACE	EQU	<ID3DXTextureShader>
DECLARE_INTERFACE_(ID3DXTextureShader,IUnknown)
;{
STDMETHOD QueryInterface , :REFIID, :ptr LPVOID
STDMETHOD_ ULONG,AddRef 
STDMETHOD_ ULONG,Release 
STDMETHOD GetFunction , :ptr LPD3DXBUFFER
STDMETHOD GetConstantBuffer , :ptr LPD3DXBUFFER
STDMETHOD GetDesc , :ptr D3DXCONSTANTTABLE_DESC
STDMETHOD GetConstantDesc , :D3DXHANDLE, :ptr D3DXCONSTANT_DESC, :ptr DWORD
STDMETHOD_ D3DXHANDLE,GetConstant , :D3DXHANDLE, :DWORD
STDMETHOD_ D3DXHANDLE,GetConstantByName , :D3DXHANDLE, :LPSTR
STDMETHOD_ D3DXHANDLE,GetConstantElement , :D3DXHANDLE, :DWORD
STDMETHOD SetDefaults 
STDMETHOD SetValue , :D3DXHANDLE, :LPCVOID, :DWORD
STDMETHOD SetBool , :D3DXHANDLE, :BOOL
STDMETHOD SetBoolArray , :D3DXHANDLE, :ptr BOOL, :DWORD
STDMETHOD SetInt , :D3DXHANDLE, :DWORD
STDMETHOD SetIntArray , :D3DXHANDLE, :ptr DWORD, :DWORD
STDMETHOD SetFloat , :D3DXHANDLE, :REAL4
STDMETHOD SetFloatArray , :D3DXHANDLE, :ptr REAL4, :DWORD
STDMETHOD SetVector , :D3DXHANDLE, :ptr D3DXVECTOR4
STDMETHOD SetVectorArray , :D3DXHANDLE, :ptr D3DXVECTOR4, :DWORD
STDMETHOD SetMatrix , :D3DXHANDLE, :ptr D3DXMATRIX
STDMETHOD SetMatrixArray , :D3DXHANDLE, :ptr D3DXMATRIX, :DWORD
STDMETHOD SetMatrixPointerArray , :D3DXHANDLE, :ptr ptr D3DXMATRIX, :DWORD
STDMETHOD SetMatrixTranspose , :D3DXHANDLE, :ptr D3DXMATRIX
STDMETHOD SetMatrixTransposeArray , :D3DXHANDLE, :ptr D3DXMATRIX, :DWORD
STDMETHOD SetMatrixTransposePointerArray , :D3DXHANDLE, :ptr ptr D3DXMATRIX, :DWORD
;}
DECLARE_INTERFACE__END

;ID3DXFragmentLinker typedef ID3DXFragmentLinker

LPD3DXFRAGMENTLINKER typedef ptr ID3DXFragmentLinker

DEFINE_GUID(IID_ID3DXFragmentLinker,1a2c0cc2h,0e5b6h,4ebch,9eh,8dh,39h,0eh,5h,78h,11h,0b6h)
;#undef INTERFACE 
INTERFACE	EQU	<ID3DXFragmentLinker>
DECLARE_INTERFACE_(ID3DXFragmentLinker,IUnknown)
;{
STDMETHOD QueryInterface , :REFIID, :ptr LPVOID
STDMETHOD_ ULONG,AddRef 
STDMETHOD_ ULONG,Release 
STDMETHOD GetDevice , :ptr LPDIRECT3DDEVICE9
STDMETHOD_ UINT,GetNumberOfFragments 
STDMETHOD_ D3DXHANDLE,GetFragmentHandleByIndex , :DWORD
STDMETHOD_ D3DXHANDLE,GetFragmentHandleByName , :LPSTR
STDMETHOD GetFragmentDesc , :D3DXHANDLE, :LPD3DXFRAGMENT_DESC
STDMETHOD AddFragments , :ptr DWORD
STDMETHOD GetAllFragments , :ptr LPD3DXBUFFER
STDMETHOD GetFragment , :D3DXHANDLE, :ptr LPD3DXBUFFER
STDMETHOD LinkShader , :LPSTR, :DWORD, :ptr D3DXHANDLE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
STDMETHOD LinkVertexShader , :LPSTR, :DWORD, :ptr D3DXHANDLE, :DWORD, :ptr LPDIRECT3DVERTEXSHADER9, :ptr LPD3DXBUFFER
STDMETHOD LinkPixelShader , :LPSTR, :DWORD, :ptr D3DXHANDLE, :DWORD, :ptr LPDIRECT3DPIXELSHADER9, :ptr LPD3DXBUFFER
STDMETHOD ClearCache 
;}
DECLARE_INTERFACE__END

D3DXINCLUDE_TYPE typedef DWORD
D3DXINC_LOCAL = 0
D3DXINC_SYSTEM = 1
D3DXINC_FORCE_DWORD = 7fffffffh 

LPD3DXINCLUDE_TYPE typedef ptr D3DXINCLUDE_TYPE

;ID3DXInclude typedef ID3DXInclude

LPD3DXINCLUDE typedef ptr ID3DXInclude

;#undef INTERFACE 
INTERFACE	EQU	<ID3DXInclude>
DECLARE_INTERFACE(ID3DXInclude)
;{
STDMETHOD Open , :D3DXINCLUDE_TYPE, :LPSTR, :LPCVOID, :ptr LPCVOID, :ptr DWORD
STDMETHOD Close , :LPCVOID
;}
DECLARE_INTERFACE_END

ifdef __cplusplus 
;extern "C"
;{
endif 
D3DXAssembleShaderFromFileA proto stdcall  :LPSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
D3DXAssembleShaderFromFileW proto stdcall  :LPWSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
ifdef UNICODE 
D3DXAssembleShaderFromFile	EQU	<D3DXAssembleShaderFromFileW>
else 
D3DXAssembleShaderFromFile	EQU	<D3DXAssembleShaderFromFileA>
endif 
D3DXAssembleShaderFromResourceA proto stdcall  :HMODULE, :LPSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
D3DXAssembleShaderFromResourceW proto stdcall  :HMODULE, :LPWSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
ifdef UNICODE 
D3DXAssembleShaderFromResource	EQU	<D3DXAssembleShaderFromResourceW>
else 
D3DXAssembleShaderFromResource	EQU	<D3DXAssembleShaderFromResourceA>
endif 
D3DXAssembleShader proto stdcall  :LPSTR, :DWORD, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
D3DXCompileShaderFromFileA proto stdcall  :LPSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :LPSTR, :LPSTR, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER, :ptr LPD3DXCONSTANTTABLE
D3DXCompileShaderFromFileW proto stdcall  :LPWSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :LPSTR, :LPSTR, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER, :ptr LPD3DXCONSTANTTABLE
ifdef UNICODE 
D3DXCompileShaderFromFile	EQU	<D3DXCompileShaderFromFileW>
else 
D3DXCompileShaderFromFile	EQU	<D3DXCompileShaderFromFileA>
endif 
D3DXCompileShaderFromResourceA proto stdcall  :HMODULE, :LPSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :LPSTR, :LPSTR, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER, :ptr LPD3DXCONSTANTTABLE
D3DXCompileShaderFromResourceW proto stdcall  :HMODULE, :LPWSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :LPSTR, :LPSTR, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER, :ptr LPD3DXCONSTANTTABLE
ifdef UNICODE 
D3DXCompileShaderFromResource	EQU	<D3DXCompileShaderFromResourceW>
else 
D3DXCompileShaderFromResource	EQU	<D3DXCompileShaderFromResourceA>
endif 
D3DXCompileShader proto stdcall  :LPSTR, :DWORD, :ptr D3DXMACRO, :LPD3DXINCLUDE, :LPSTR, :LPSTR, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER, :ptr LPD3DXCONSTANTTABLE
D3DXDisassembleShader proto stdcall  :ptr DWORD, :BOOL, :LPSTR, :ptr LPD3DXBUFFER
D3DXGetPixelShaderProfile proto stdcall  :LPDIRECT3DDEVICE9
D3DXGetVertexShaderProfile proto stdcall  :LPDIRECT3DDEVICE9
D3DXFindShaderComment proto stdcall  :ptr DWORD, :DWORD, :ptr LPCVOID, :ptr DWORD
D3DXGetShaderSize proto stdcall  :ptr DWORD
D3DXGetShaderVersion proto stdcall  :ptr DWORD
D3DXGetShaderInputSemantics proto stdcall  :ptr DWORD, :ptr D3DXSEMANTIC, :ptr DWORD
D3DXGetShaderOutputSemantics proto stdcall  :ptr DWORD, :ptr D3DXSEMANTIC, :ptr DWORD
D3DXGetShaderSamplers proto stdcall  :ptr DWORD, :ptr LPSTR, :ptr DWORD
D3DXGetShaderConstantTable proto stdcall  :ptr DWORD, :ptr LPD3DXCONSTANTTABLE
D3DXCreateTextureShader proto stdcall  :ptr DWORD, :ptr LPD3DXTEXTURESHADER
D3DXGatherFragmentsFromFileA proto stdcall  :LPSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
D3DXGatherFragmentsFromFileW proto stdcall  :LPWSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
ifdef UNICODE 
D3DXGatherFragmentsFromFile	EQU	<D3DXGatherFragmentsFromFileW>
else 
D3DXGatherFragmentsFromFile	EQU	<D3DXGatherFragmentsFromFileA>
endif 
D3DXGatherFragmentsFromResourceA proto stdcall  :HMODULE, :LPSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
D3DXGatherFragmentsFromResourceW proto stdcall  :HMODULE, :LPWSTR, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
ifdef UNICODE 
D3DXGatherFragmentsFromResource	EQU	<D3DXGatherFragmentsFromResourceW>
else 
D3DXGatherFragmentsFromResource	EQU	<D3DXGatherFragmentsFromResourceA>
endif 
D3DXGatherFragments proto stdcall  :LPSTR, :DWORD, :ptr D3DXMACRO, :LPD3DXINCLUDE, :DWORD, :ptr LPD3DXBUFFER, :ptr LPD3DXBUFFER
D3DXCreateFragmentLinker proto stdcall  :LPDIRECT3DDEVICE9, :DWORD, :ptr LPD3DXFRAGMENTLINKER
ifdef __cplusplus 
;}
endif 
D3DXSHADER_CONSTANTTABLE	struct
Size_	DWORD	?
Creator	DWORD	?
Version	DWORD	?
Constants	DWORD	?
ConstantInfo	DWORD	?
Flags	DWORD	?
Target	DWORD	?
D3DXSHADER_CONSTANTTABLE	ends

LPD3DXSHADER_CONSTANTTABLE typedef ptr D3DXSHADER_CONSTANTTABLE

D3DXSHADER_CONSTANTINFO	struct
Name_	DWORD	?
RegisterSet	WORD	?
RegisterIndex	WORD	?
RegisterCount	WORD	?
Reserved	WORD	?
TypeInfo	DWORD	?
DefaultValue	DWORD	?
D3DXSHADER_CONSTANTINFO	ends

LPD3DXSHADER_CONSTANTINFO typedef ptr D3DXSHADER_CONSTANTINFO

D3DXSHADER_TYPEINFO	struct
Class	WORD	?
Type_	WORD	?
Rows	WORD	?
Columns	WORD	?
Elements	WORD	?
StructMembers	WORD	?
StructMemberInfo	DWORD	?
D3DXSHADER_TYPEINFO	ends

LPD3DXSHADER_TYPEINFO typedef ptr D3DXSHADER_TYPEINFO

D3DXSHADER_STRUCTMEMBERINFO	struct
Name_	DWORD	?
TypeInfo	DWORD	?
D3DXSHADER_STRUCTMEMBERINFO	ends

LPD3DXSHADER_STRUCTMEMBERINFO typedef ptr D3DXSHADER_STRUCTMEMBERINFO

endif 

;--- errors: 0
;--- end of file ---
